package com.pangolin.pangolinim.service.list;

import com.pangolin.pangolinim.sqlite.DBContact;
import com.pangolin.pangolinim.ui.adapter.UIContact;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ContactList{

    private List<DBContact> contacts = new ArrayList<DBContact>();   //联系人列表

    /**
     * TODO:获取联系人列表
     * @return 联系人list
     */
    public List<DBContact> get_allcontacts(){ return contacts; }

    /**
     * TODO:删除联系人
     * @param uid 联系人uid
     */
    public void delete_contact(int uid){
        Iterator<DBContact> item = contacts.iterator();
        while (item.hasNext())
        {
            DBContact dbContact = item.next();
            if (dbContact.getUid() == uid)
            {
                item.remove();
            }
        }
    }

    /**
     * TODO:清空联系人列表
     */
    public void truncate_contacts(){ contacts.clear(); }

    /**
     * TODO:添加联系人
     */
    public void insert_contact(DBContact contact){ contacts.add(contact); }

    /**
     * TODO:查询联系人信息
     * @param uid 联系人uid
     * @return DBContact  联系人信息类
     */
    public DBContact get_onecontact(int uid){
        for(DBContact contact : contacts){
            if(contact.getUid() == uid){
                return contact;
            }
        }
        return null;
    }

    /**
     * TODO:获取联系人数量
     * @return 联系人数量
     */
    public int count_contacts(){ return contacts.size(); }

    /**
     * TODO:更新联系人信息
     * @param contact
     */
    public void update_contact(DBContact contact){
        if(contact.getUid() <= 0){ return; }
        for(int i = 0 ; i < contacts.size() ; i ++){
            if(contacts.get(i).getUid() == contact.getUid()){
                if(contact.getName() != null){ contacts.get(i).setName(contact.getName()); }
                if(contact.getHeadimg() != null){ contacts.get(i).setHeadimg(contact.getHeadimg()); }
                if(contact.getSeckey() != null){ contacts.get(i).setSeckey(contact.getSeckey());}
            }
        }
    }
}
